# -*- coding: utf-8 -*-
from osv import fields, osv

class instalacion(osv.osv):
    _name = 'instalacion'
    
    '''Funciones'''


    _columns = {
                'name': fields.char('Nombre', size=32, required='True'),
                'organization_id': fields.many2one('organizacion','Organizacion',required=True),
               
                #DEPRECATED accesible organization_id.responsible_id
                'responsible_id': fields.many2one('res.users', 'Responsable', help='Responsable'),  # Resp 
                
                'incidencia_ids': fields.one2many('incidencia','instalacion_id','Incidencias'),
                'description': fields.text('Descripción'),
                'adress': fields.text('Dirección',size=32, required='True'),
                'photo': fields.binary('Foto'),
              
                'create_uid': fields.many2one('res.users', 'Creado por', select=True, readonly=True),  # Registro
                'create_date': fields.datetime("Fecha de creación", select=True, readonly=True),
                'write_uid': fields.many2one('res.users', 'Modificado por', select=True, readonly=True),
                'write_date': fields.datetime("Fecha de modificación", select=True, readonly=True),
    }
    
    #DEPRECATED
    def create(self, cr, uid, vals, context=None): 
        org = self.pool.get('organizacion').browse(cr,uid,vals['organization_id'])
        group_tree = self.pool.get('res.groups').search(cr,uid,[]) # Listado de los ids de grupos
        groups = self.pool.get('res.groups').browse(cr,uid,group_tree) # Todos los grupos
        for group in groups:
            if group.name == 'Responsable':
                for user in group.users: # Se contruye una lista con los ids de todos los Responsables (ATENCION: Se asume 1 responsable por organizacion)  
                    if user.organization_id.id == org.id:# Si la organizacion a la que pertenece el cada uno de los ususarios es la misma que la organizacion a la que pertenece la instalacion asignada a la incidencia
                        vals['responsible_id'] = user.id # Guarda el id del usuario                  
        return super(instalacion,self).create(cr, uid, vals, context)
   
instalacion()